{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T15:56:21.622194Z",
     "start_time": "2020-08-14T15:56:19.204469Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from cpp_algorithms import dist_fill\n",
    "from cpp_algorithms import darp, stc, bcd, wavefront\n",
    "from cpp_algorithms import get_drone_map, get_random_coords\n",
    "from cpp_algorithms import get_all_area_maps, plot, imshow, imshow_scatter\n",
    "from cpp_algorithms.darp.darp_helpers import get_assigned_count\n",
    "from cpp_algorithms.coverage_path.pathing_helpers import has_isolated_areas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T15:56:25.951249Z",
     "start_time": "2020-08-14T15:56:25.851082Z"
    }
   },
   "outputs": [],
   "source": [
    "n = 3\n",
    "area_maps = get_all_area_maps(\"test_maps\")\n",
    "area_map = area_maps[0]\n",
    "start_points = get_random_coords(area_map, n)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T15:59:32.222612Z",
     "start_time": "2020-08-14T15:59:28.144937Z"
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8df56bd955714a79a7bbdbf92ad3561a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(FloatProgress(value=0.0, max=716.0), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b9b8fd1478584d53bfeaaa2bded1fa7f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(FloatProgress(value=0.0, max=300.0), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "assigned :  [239 238 239]\n",
      "has isolated :  [False, False, False]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "start_points = get_random_coords(area_map, n)\n",
    "A, losses = darp(300, area_map, start_points, pbar=True)\n",
    "drone_maps = [get_drone_map(A,i) for i in range(n)]\n",
    "\n",
    "print(\"assigned : \", get_assigned_count(A))\n",
    "print('has isolated : ',[has_isolated_areas(dm) for dm in drone_maps])\n",
    "imshow(A,1,4,1, figsize=(20,5))\n",
    "imshow_scatter(start_points,color=\"black\")\n",
    "dist_maps = [dist_fill(drone_maps[i],[start_points[i]]) for i in range(n)]\n",
    "[imshow(dist_maps[i],1,4,i+2) for i in range(n)];"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Wavefront**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T16:00:29.912388Z",
     "start_time": "2020-08-14T16:00:29.691475Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "coverage_paths = [wavefront(drone_maps[i],start_points[i]) for i in range(n)]\n",
    "imshow(A,1,4,1, figsize=(20,5))\n",
    "for i in range(n):\n",
    "    imshow(dist_maps[i],1,4,i+2)\n",
    "    plot(coverage_paths[i],color=\"white\",alpha=0.6)\n",
    "    end_point = coverage_paths[i][-1]\n",
    "    imshow_scatter(start_points[i], color=\"green\")\n",
    "    imshow_scatter(end_point, color=\"red\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**BCD**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T16:00:51.265897Z",
     "start_time": "2020-08-14T16:00:51.033014Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "coverage_paths = [bcd(drone_maps[i],start_points[i]) for i in range(n)]\n",
    "imshow(A,1,4,1, figsize=(20,5))\n",
    "for i in range(n):\n",
    "    imshow(dist_maps[i],1,4,i+2)\n",
    "    plot(coverage_paths[i],color=\"white\",alpha=0.6)\n",
    "    end_point = coverage_paths[i][-1]\n",
    "    imshow_scatter(start_points[i], color=\"green\")\n",
    "    imshow_scatter(end_point, color=\"red\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**STC**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-14T16:00:49.328055Z",
     "start_time": "2020-08-14T16:00:49.140847Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "coverage_paths = [stc(drone_maps[i],start_points[i]) for i in range(n)]\n",
    "imshow(A,1,4,1, figsize=(20,5))\n",
    "for i in range(n):\n",
    "    imshow(dist_maps[i],1,4,i+2)\n",
    "    plot(coverage_paths[i],color=\"white\",alpha=0.6)\n",
    "    end_point = coverage_paths[i][-1]\n",
    "    imshow_scatter(start_points[i], color=\"green\")\n",
    "    imshow_scatter(end_point, color=\"red\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
